package com.zretc.emptraining.dao;

import java.util.List;

import com.zretc.emptraining.dbtools.PageData;
import com.zretc.emptraining.entity.Dept;
import com.zretc.emptraining.entity.Teach;
import com.zretc.emptraining.entity.Users;

public interface UsersDao {
	// 获得用户列表
	public List<Users> getUsers(String keywords);

	// 添加用户
	public boolean addUsers(Users users);

	// 通过用户名字精确查找
	public List<Users> getUsersByName(String userName);

	// 登录方法
	public boolean doLogin(String userName, String userPwd);

	// 修改用户状态
	public boolean stateUpd(String state, String userNo);
	
	// 修改用户信息
	public boolean updUsersByName(int empNo,String userName,String userPwd,String userNo);

	// 分页
	public PageData<Users> getUserByPage(int page, int pageSize, String keywords);
	
	// 初始化用户密码
	public boolean initUserPwd(String userNo);
	
	// 员工修改信息时，电话号码修改，用户编号也跟着修改
	public boolean updUserNo(int empNo,String empTel);
	
	// 根据用户编号 修改用户密码
	public boolean updUserPwd(String userNo,String userPwd);
	
	// 根据用户名 修改用户密码
	public boolean updPwd(String userNo,String userPwd);
	
	//获得单个用户信息的方法（通过用户账号获得用户的员工编号，若结果为空，该用户是教员,在业务层判断）
	public Users getUsersEmpNo(String userName);
	
	//判断密码是否正确....感觉好像代码冗余了....
	public boolean checkPwd(int empNo,String pwd);
	
	// 通过名字修改员工信息
	public boolean updEmp(String empName, int deptNo, String empXl, String empSex, String empID, String empAddress,
				String empTel, String empEmail, String empJob);
	
	// 获取用户的员工号
	public List<Teach> getTeachNo(String userName);

	// 获取主管的部门号
	public List<Dept> getDeptNo(int empNo);
}
